The present application generally relates to the field of data communications and, more particularly, to data routing.
It is common to connect a plurality of systems and devices through a communication medium often referred to as a network. Such networks among communicating devices permit devices (or users of devices) to easily exchange and share information among the various devices. The Internet is a presently popular example of such networking on a global scale. Individual users attach their devices to the Internet, thereby enabling sharing of vast quantities of data on other devices geographically dispersed throughout the world.
Networked computing systems may be configured and graphically depicted in a wide variety of common wired and/or wireless topologies. In other words, the particular configurations of network communication links (also referred to as paths) and devices (e.g. routers, switches) between a particular pair of endpoint node devices wishing to exchange information may be widely varied. Any particular connection between two endpoint node computers attached to a network may be direct or may pass through a large number of intermediate devices in the network. In addition, there may be a plurality of alternative paths through the network connecting any two network devices. Different groupings of the devices and paths may be administered by different network administrators. Each administrator may establish one or more domains grouping the devices and links of the network they administer.
Many present network communication media and protocols are referred to as packet oriented. A protocol or communication medium may be said to be packet oriented in that information to be exchanged over the network is broken into discrete sized packets of information. A block of information to be transferred over the network is decomposed into one or more packets for purposes of transmission over the network. At the receiving end of the network transmission, the packets are re-assembled into the original block of data.
In general, each packet includes embedded control and addressing information that identifies the source device which originated the transmission of the packet and which identifies the destination device to which the packet is transmitted. Identification of source and destination devices is by means of an address associated with each device. An address is an identifier that is unique within the particular computing network to identify each device associated with the network. Such addresses may be unique to only a particular network environment (i.e., a network used to interconnect a single, self-contained computing environment) or may be generated and assigned to devices so as to be globally unique in co-operation with networking standards organizations.
A variety of different protocol layers are provided in various packet communication protocols, such as TCP/IP. At the lowest level of network communication, the addresses in packets may be often referred to as MAC address (Media Access Control address). Network protocol layers above this lower layer of communication protocol may use other addresses for other purposes in the higher layer. In most network low level communication levels, operable on the physical link medium, an address is referred to as a MAC address, while higher layers may use an assigned internet protocol (IP) address associated with the device MAC address.
In many present commercially available network environments, the network communication medium is in essence a bus commonly attached to a plurality of devices over which the devices exchange communications. In a simple networking topology, all devices may be attached to a bus structured common network medium. Any particular single network medium generally has a maximum data exchange bandwidth associated therewith. The maximum data exchange bandwidth of a medium may be determined by a number of electrical and physical properties of the medium and protocols used to communicate over that medium. For example, a popular family of related network media and protocols are collectively referred to as Ethernet. Ethernet defines a standard protocol for the exchange of messages over the communication medium. A variety of communication media are also defined as part of the Ethernet family. The communication bandwidth of the Ethernet family of standards presently range from approximately 10 Mbit (million bits of information) per second to 10 Gbit per second. Therefore, a single (slow) Ethernet connection, for example, may have maximum data exchange bandwidth of approximately 10 Mbit per second.
A wide variety of wired and/or wireless network access points may be accessible from a given area, including cellular networks, satellite networks and the like. However, a user endpoint device may not be configured to exchange communications using some or all of these access points and, as such, may not be able to access the wide area network or only have low speed access from a given locality, particularly where an event has occurred that has removed a network access point generally used by the user endpoint device. For example, following a natural disaster, both ground based wireless and wired connection points may be lost and most user endpoint devices in the locality may not be configured to use a still available satellite based network access point.